
#include"Contact.h"

//初始化
void ContactInit(Con* pcon)
{
	SeqListInit(pcon);
	FILE* file = fopen("ContactInfo.txt","r+");
	if(file == NULL)
	{
		perror("fopen mistake");
		exit(-1);
	}
	PerInfo per = { 0 };
	while(fread(&per,sizeof(PerInfo),1,file) >= 1)
	{
		SeqListFrontPush(pcon,per);
	}
	fclose(file);
	file = NULL;
}
//销毁
void ContactDestory(Con* pcon)
{
	FILE* file = fopen("ContactInfo.txt","w+");
	if(file == NULL)
	{
		perror("fopen mistake");
		exit(-1);
	}
	int i = 0;
	for(i = 0;i<pcon->size;i++)
	{
		 fwrite(&pcon->arr[i],sizeof(PerInfo),1,file);
		
	}
	fclose(file);
	file = NULL;
	SeqListDestory(pcon);
}
//插入联系人
void ContactInsert(Con* pcon)
{
	//创建一个联系人变量;
	PerInfo per = { 0 } ;
	
	printf("请输入联系人的名字:");
	scanf("%s",per.name);
	printf("请输入联系人的性别:");
	scanf("%s",per.gender);
	printf("请输入联系人的年龄:");
	scanf("%d",&per.old);
	printf("请输入联系人的帐号:");
	scanf("%s",per.account);
	printf("请输入联系人的家乡:");
	scanf("%s",per.addr);

	//准备妥当->调入尾插函数;
	SeqListFrontPush(pcon,per);
}
//删除联系人
void ContactDelete(Con* pcon)
{
	char name[MAX_NAME] = { 0 };
	printf("请输入你要删除的联系人名字:");
	scanf("%s",name);
	
	int i = 0;
	for(i = 0;i< pcon->size;i++)
	{
		if(0 == strcmp(pcon->arr[i].name,name))
		{
			SeqListDelete(pcon,i);
			return;	
		}
	}
	if(i >= pcon->size)
		printf("查无此人，请核实是否输入出错\n");
}
//查找联系人
void ContactFindByName(Con* pcon)
{
	char name[MAX_NAME] = { 0 };
	printf("请输入你要查找的联系人名字");
	scanf("%s",name);

	int i = 0;
	for(i = 0; i < pcon->size;i++)
	{
		if(0 == strcmp(pcon->arr[i].name,name))
		{
	 		printf("%s %s %d %s %s\n",
					pcon->arr[i].name,
					pcon->arr[i].gender,
					pcon->arr[i].old,
					pcon->arr[i].account,
					pcon->arr[i].addr);
			return;
		}
	}
	if(i >= pcon->size)
		printf("查无此人，请核实是否输入出错\n");
}
//修改联系人
void ContactModify(Con* pcon)
{
	char name[MAX_NAME] = { 0 };
	printf("请输入你要修改的联系人名字:");
	scanf("%s",name);

	int  i = 0;
	for(i = 0;i < pcon->size;i++)
	{
		if(0 == strcmp(pcon->arr[i].name,name))
		{	
			PerInfo per = { 0 };
			printf("请输入新联系人的名字:");
			scanf("%s",per.name);
			printf("请输入新联系人的性别:");
			scanf("%s",per.gender);
			printf("请输入联系人的年龄:");
			scanf("%d",&per.old);
			printf("请输入新联系人的帐号:");
			scanf("%s",per.account);
			printf("请输入新联系人的家乡:");
			scanf("%s",per.addr);
			SeqListModify(pcon,i,per);
		}
	}
}
//展示联系人
void ContactShow(Con* pcon)
{
	int i = 0;
	for(i = 0; i < pcon->size; i++)
	{
		printf("%s %s %d %s %s\n"
						,pcon->arr[i].name
						,pcon->arr[i].gender
						,pcon->arr[i].old
						,pcon->arr[i].account
						,pcon->arr[i].addr);
	}
}


